package com.mdb.open.trade.domain.dto.trade;


/*
* Copyright (C), 2017-2019 澳发科技(MDB)
* FileName: TfTradeFileExtendInfoService.java
* Author:   you.yichao
* Date:     2019-08-08
* History:
* <author>          <time>          <version>          <desc>
* you.yichao         2019-08-08          V1.00             代码生成器初始生成代码
* -----------------------------------------------------------
* 作者姓名           修改时间           版本号            描述
*/

import com.mdb.bc.api.data.DataObjectBase;
import com.mdb.bc.validator.annotaion.validation.Num;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.Digits;
import javax.validation.constraints.Size;

/**
* 类描述：
*  其他信息表数据传输类
*
* @author you.yichao
* @date 2019-08-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="TradeFileExtendInfoDto", description="其他信息表Dto对象")
public class TradeFileExtendInfoDto extends DataObjectBase {

    private static final long serialVersionUID = 1L;

    /**
     * 定金金额
     */
    @ApiModelProperty(value = "定金金额")
    @Digits(integer = 13, fraction = 2, message = "定金金额要输入阿拉伯数字（包含小数点及小数点后两位最大16位）")
    @Num(regexp = "([1-9]\\d*+(.[0-9]{1,2})?)|(0\\.[0-9]{1,2})", message = "定金金额要为正数且小数点及小数点后两位最大16位")
    @Size(max = 16, message = "定金金额最长为{max}位")
    private String depositAmount;

    /**
     * 定金币种
     */
    @ApiModelProperty(value = "定金币种")
    @Size(max = 5, message = "定金币种最长为{max}位")
    private String depositCcy;

    /**
     * 定金比例
     */
    @ApiModelProperty(value = "定金比例")
    @Num(regexp = "([1-9]\\d*+(.[0-9]{1,8})?)|(0\\.[0-9]{1,8})", message = "定金比例格式不正确")
    @Digits(integer = 11, fraction = 8, message = "定金比例要输入阿拉伯数字（包含小数点及小数点后两位最大20位）")
    @Size(max = 20, message = "定金比例最长为{max}位")
    private String depositPercent;

    /**
     * 信保金额
     */
    @ApiModelProperty(value = "信保金额")
    @Digits(integer = 13, fraction = 2, message = "信保金额要输入阿拉伯数字（包含小数点及小数点后两位最大16位）")
    @Num(regexp = "([1-9]\\d*+(.[0-9]{1,2})?)|(0\\.[0-9]{1,2})", message = "信保金额要为正数且小数点及小数点后两位最大16位")
    @Size(max = 16, message = "信保金额最长为{max}位")
    private String insuranceAmount;

    /**
     * 信保币种
     */
    @ApiModelProperty(value = "信保币种")
    @Size(max = 5, message = "信保币种最长为{max}位")
    private String insuranceCcy;

    /**
     * 信保赔付比例
     */
    @ApiModelProperty(value = "信保赔付比例")
    @Num(regexp = "([1-9]\\d*+(.[0-9]{1,2})?)|(0\\.[0-9]{1,2})", message = "信保赔付比例格式不正确")
    @Digits(integer = 11, fraction = 8, message = "信保赔付比例要输入阿拉伯数字（包含小数点及小数点后两位最大20位）")
    @Size(max = 20, message = "信保赔付比例最长为{max}位")
    private String insurancePercent;


}
